//package com.ruoyi.cms.utils;
//
//import org.apache.poi.xssf.usermodel.*;
//import org.apache.poi.ss.usermodel.*;
//import java.io.*;
//
//public class ExcelToHtmlConverter {
//
//    // 样式转换器
//    private static String convertFontToStyle(XSSFFont font) {
//        StringBuilder style = new StringBuilder();
//        if (font.getBold()) style.append("font-weight:bold;");
//        if (font.getItalic()) style.append("font-style:italic;");
//        if (font.getColor() != IndexedColors.AUTOMATIC.getIndex()) {
//            style.append(String.format("color:#%s;", getHexColor(font.getColor())));
//        }
//        return style.length() > 0 ? " style=\"" + style + "\"" : "";
//    }
//
//    // 颜色值转换（POI颜色索引转HEX）
//    private static String getHexColor(short colorIndex) {
//        XSSFColor color = XSSFColor.fromIndex(colorIndex);
//        byte[] rgb = color.getRGB();
//        return String.format("%02x%02x%02x", rgb, rgb, rgb);
//    }
//
//    // 主转换方法
//    public static String convertColumnToHtml(File excelFile, int sheetIndex, int columnIndex) throws IOException {
//        StringBuilder html = new StringBuilder("<div class=\"excel-content\">\n");
//
//        try (FileInputStream fis = new FileInputStream(excelFile)) {
//            XSSFWorkbook workbook = new XSSFWorkbook(fis);
//            XSSFSheet sheet = workbook.getSheetAt(sheetIndex);
//
//            for (Row row : sheet) {
//                Cell cell = row.getCell(columnIndex);
//                if (cell == null) continue;
//
//                html.append("  <div class=\"row\">");
//
//                if (cell.getCellType() == CellType.STRING) {
//                    if (cell.getRichStringCellValue() instanceof XSSFRichTextString) {
//                        XSSFRichTextString richText = (XSSFRichTextString) cell.getRichStringCellValue();
//                        int lastPos = 0;
//
//                        for (int i = 0; i < richText.numFormattingRuns(); i++) {
//                            int start = richText.getIndexOfFormattingRun(i);
//                            int length = richText.getLengthOfFormattingRun(i);
//                            String text = richText.getString().substring(start, start + length);
//
//                            XSSFFont font = richText.getFontOfFormattingRun(i);
//                            String style = convertFontToStyle(font);
//
//                            html.append(String.format("<span%s>%s</span>",
//                                style,
//                                text.replace("\n", "<br/>")));
//
//                            lastPos = start + length;
//                        }
//
//                        // 处理剩余文本
//                        if (lastPos < richText.length()) {
//                            String remaining = richText.getString().substring(lastPos);
//                            html.append(remaining.replace("\n", "<br/>"));
//                        }
//                    } else {
//                        html.append(cell.getStringCellValue().replace("\n", "<br/>"));
//                    }
//                }
//                html.append("</div>\n");
//            }
//        }
//        html.append("</div>");
//        return html.toString();
//    }
//
//    // 使用示例
//    public static void main(String[] args) throws IOException {
//        String html = convertColumnToHtml(
//            new File("input.xlsx"),
//            0,  // 第一个工作表
//            2   // 第C列
//        );
//
//        try (FileWriter writer = new FileWriter("output.html")) {
//            writer.write(html);
//        }
//    }
//}
